#include <iostream>
using namespace std;

/* class Java
{
public:
  void header()
  {
    cout << "首页、公开课、登陆、注册" << endl;
  }

  void footer()
  {
    cout << "帮助中心、交流合作、站内地图" << endl;
  }

  void left()
  {
    cout << "Java、Python、C++、..." << endl;
  }

  void content()
  {
    cout << "Java视频" << endl;
  }
};

class Python
{
public:
  void header()
  {
    cout << "首页、公开课、登陆、注册" << endl;
  }

  void footer()
  {
    cout << "帮助中心、交流合作、站内地图" << endl;
  }

  void left()
  {
    cout << "Java、Python、C++、..." << endl;
  }

  void content()
  {
    cout << "Python视频" << endl;
  }
}; */

// 继承实现
class BasePage
{
public:
  void header()
  {
    cout << "首页、公开课、登陆、注册" << endl;
  }

  void footer()
  {
    cout << "帮助中心、交流合作、站内地图" << endl;
  }

  void left()
  {
    cout << "Java、Python、C++、..." << endl;
  }
};
// 继承的好处：减少重复代码
// 语法：class 子类 : 继承方式 父类
// 子类 也称为 派生类
// 父类 也称为 基类

// Java
class Java : public BasePage
{
public:
  void content()
  {
    cout << "Java视频" << endl;
  }
};

// Python
class Python : public BasePage
{
public:
  void content()
  {
    cout << "Python视频" << endl;
  }
};

void test01()
{
  cout << "Java" << endl;
  Java ja;
  ja.header();
  ja.footer();
  ja.left();
  ja.content();
  cout << "========" << endl;
  Python py;
  py.header();
  py.footer();
  py.left();
  py.content();
}

int main(int argc, char const *argv[])
{

  test01();

  return 0;
}